iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
1

如同各個語言,elixir有整數,並且在不同的前綴下被視為不同進位的整數

iex(1)> 24
24
iex(2)> 0b11000 
24
iex(3)> 0o30
24
iex(4)> 0x18
24

浮點數

iex(1)> 0.24
0.24
iex(2)> 2.4e-5
2.4e-5

字串
在elixir中,字串強制以雙引號包裹,<>可以對字串進行串接,使用#{}也可以像其他語言一樣在字串中插入變數。

iex(1)> "Hello world"
"Hello world"
iex(2)> "Hello" <> " world"
"Hello world"

iex(3)> str = "world"
"world"
iex(4)> "Hello #{str}"
"Hello world"

布林值

iex(1)> true
true
iex(2)> false
false

Atoms
atoms是跟ruby中的Symbols相同的概念,可以想像成他是一種類似字串的東西,但他不是一個字串,他有著比字串更好的效率,原因是因為atom在運行時,會被匹配到唯一的一個整數上,所以在進行匹配時會有更快的速度,因為他所需要做的就是比對兩個整數的值。

iex(1)> :foo
:foo
iex(2)> :foo == :foo
true

並且true false nil在elixir中其實也是atoms

iex(1)> true == :true
true
iex(2)> false == :false
true
iex(3)> nil == :nil
true
iex(4)> is_boolean(:true)
true

Range
range代表的是一個範圍,即兩個數之間的整數序列,且可以是遞減或遞增。

iex(1)> 1..3
1..3
iex(2)> range = 5..3
5..3

今天先介紹到這樣,明天我們來介紹elixir裡的collection資料型態。


上一篇
Day 2 |> 安裝,啟動,開始練丹
下一篇
Day 4 |> 集合資料型態 ( Collection ) - Tuple (元組)
系列文
用Elixir學習後端煉金術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言